草庐IT

php - 反向preg_replace

全部标签

php - 如何存储非 ASCII 文件名的上传文件?

我无法将UTF-8文件名传递给move_uploaded_file()因为它按字节转换,导致文件系统中的名称错误。例如:move_uploaded_file($_FILES['userfile']['tmp_name'],'\upload\é.jpg');在上传目录中创建xa9.jpg。虽然WindowsAPI支持UTF-16,但将此类文件名(例如iconv('UTF-8','UTF-16','é'))传递给move_uploaded_file()导致错误。percent-encode所有特殊字符是合理的,根据RFC3986,我绝对应该对URI做同样的事情。.但是,当我使用百分比编码的

PHP Symfony - 连接已重置 (Windows)

我在Windows上配置了Symfony1.4。我的服务器是Wamp。我正在使用来自Symfony站点的教程。我的httpd.conf文件:NameVirtualHost127.0.0.1:8080Listen127.0.0.1:8080DocumentRoot"C:\dev\sfproject\web"DirectoryIndexindex.phpAllowOverrideAllAllowfromAllAlias/sfc:\dev\sfproject\lib\vendor\symfony\data\web\sfAllowOverrideAllAllowfromAll我的问题是,当我尝

php - 无法将远程 Openfiles.exe 数据拉入 PHP

我正在尝试使用openfiles.exe获取远程服务器上当前打开的文件的信息。我可以从网络服务器打开的命令提示符运行命令,所以我知道它在网络服务器和我试图定位的服务器之间工作。但是,当我尝试在PHP中调用相同的命令时,我得到一个Apache错误日志条目:“错误:目标系统必须运行WindowsXP或更高版本。”网络服务器在XpPro上运行,目标服务器在WindowsServer2003上。从命令提示符命令运行完美,即使是网络上较旧的Windows2000服务器,只是当我从PHP运行它时,它似乎有一个问题。有没有人知道为什么和/或如何解决这个问题?我使用的代码是:$output=shell

Windows Server 2008 上的 PHP APC (PHP 5.4.3 - x64)

尝试安装phpapc:已下载http://www.mediafire.com/?53jwxu6irk48ow1检查所有规范:x64Php5.4.3Threadsafe但是apache还是报错:PHP启动:无法加载动态库'Z:/php_apc.dll'有什么建议吗?搜索了google和stackoverflow但没有找到解决方案? 最佳答案 这是因为apc不是针对您正在使用的特定版本的php编译的-上周我遇到了同样的问题!确保完全匹配的版本解决了这个问题。 关于WindowsServer2

PHP fatal error : Class 'COM' not found

将PHP升级到v.5.5.1后出现此错误:Fatalerror:Class'COM'notfoundinC:\inetpub\wwwroot\ndsystems\database_engine\mssql_engine.phponline184mssql_engine.php文件中的第184行:$this->COMConnection=newCOM('ADODB.Connection');//line184try{$this->COMConnection->Open($connectionString);$this->RetrieveServerVersion();}catch(com

php - 在 php 中使用 pthread 进行后台处理

我正在尝试使用pthread在php中实现多线程发送电子邮件。这里的基本思想是将电子邮件作为后台作业发送,这样用户就不必等待任务完成。我有一项服务,用户PHPMailer发送电子邮件及其工作正常。我正在使用以下代码进行多线程classThreadWorkerServiceextends\Thread{private$_runMethod;private$_vars;private$_autoloderPath;function__construct($vars){$this->_vars=$vars;$reflector=new\ReflectionClass('Composer\Au

c# - 没有行开始和结束终止符的 Regex.Replace 有一些非常奇怪的效果......这里发生了什么?

在回答这个问题时C#RegexReplaceand*有人提出问题存在的原因。播放时我产生了以下代码:strings=Regex.Replace(".A.","\w*","B");Console.Write(s);这有输出:B.BB.B我知道0长度字符串在.字符前后匹配,但为什么A被2Bs替换。我可以将B.BBB.B理解为替换A或B.B.B任一侧的零长度字符串但实际结果让我感到困惑-任何帮助表示赞赏。或者正如AakashM所说:为什么Regex.Matches("A","\w*").Count等于2,而不是1或3? 最佳答案 \w后面

C# File.Replace 防止崩溃

File.Replace是否执行原子/事务操作,以便在发生崩溃或电源故障时目标文件永远不会丢失,也不会是部分文件(即原始文件或新文件)文件)?如果没有,是否有其他方法可以防止这种情况发生?注意:这将在装有Windows7或更高版本的NTFS驱动器上,我知道它支持事务。注意:我问的是关于保存在一个原子庄园中,而不是关心一个单独的进程也像thisquestion这样打开文件. 最佳答案 File.Replace在内部使用WinAPI函数ReplaceFile(当然是在Windows上)。但是,即使在该函数中,原子性也不是记录在案的行为,

c# - String.Replace(char, char) 还是 Replace(string, string)?

当我只需要将一个字符替换为另一个字符时,String.Replace(char,char)和String.Replace(string,string)之间是否存在性能差异? 最佳答案 是的,有:我做了一个快速实验,看起来字符串版本慢了大约3倍。stringa="quickbrownfoxjumpsoverthelazydog";DateTimet1=DateTime.Now;for(inti=0;i!=10000000;i++){varb=a.Replace('o','b');if(b.Length==0){break;}}Date

c# - 有没有比 String.Replace 更好的方法来从字符串中删除退格符?

我有一个从另一个来源读取的字符串,例如“\b\bfoo\bx”。在这种情况下,它将转换为单词“fox”,因为前2个\b被忽略,最后一个“o”被删除,然后被“x”替换。另外一种情况是“patt\b\b\b\b\b\b\b\b\b\bfoo”应该被翻译成“foo”我想出了一些使用String.Replace的方法,但它很复杂,我担心它不能正常工作,而且它会创建很多我想避免的新字符串对象。有什么想法吗? 最佳答案 可能最简单的方法就是遍历整个字符串。根据您的输入,以下代码可以在1-pass中完成此操作publicstringReplace